Ensuring rate of spin-up/spin-down cycles for spindle motor in a hard disk drive does not exceed rate spindle motor is designed to handle

ABSTRACT

A method, computer program product and hard disk drive for restricting a rate of spin-up/spin-down cycles for a spindle motor in a hard disk drive. The firmware in the hard disk drive determines a maximum rate of spin-up/spin-down cycles the spindle motor is designed to handle over a designated period of time based on the number of spin-up/spin-down cycles the spindle motor is designed to handle over its expected lifetime. The firmware disables the automatic standby mode of operation if a calculated rate of spin-up/spin-down cycles during the designated period of time is greater than the maximum rate of spin-up/spin-down cycles the spindle motor is designed to handle over the designated period of time. By disabling the automatic standby mode of operation, the rate of spin-up/spin-down cycles will be reduced as the spindle motor will not incur a spin-up/spin-down cycle until the automatic standby mode of operation is enabled.

TECHNICAL FIELD

The present invention relates to the field of disk drive apparatuses,and more particularly to ensuring the number of spin-up/spin-down cyclesfor a spindle motor in a hard disk drive does not exceed the rate thespindle motor is designed to handle as well as ensuring that theduration of the spin-down cycle is not too short as well as ensuring thenumber of load/unload cycles for an actuator in a hard disk drive doesnot exceed the rate the actuator is designed to handle.

BACKGROUND INFORMATION

The most commonly used data storage means for computers are hard-diskdrives (HDDs) having structures in which one or more magnetic disks aredisposed coaxially and driven by a spindle motor. Data reading andwriting are done by magnetic heads provided in opposition to themagnetic disks. The magnetic heads are driven by an actuator, generallya voice coil motor (“VCM”). The magnetic disks, the magnetic heads, andthe actuator are stored in a housing called an enclosure case.

Typically, computer systems, including desktop and portable computers,may operate in a power saving mode of operation in order to reduce powerconsumption. One such power saving mode of operation may be referred toas a “standby mode.” In the standby mode of operation, the display maybe deactivated or turned down, the central processing unit may beoperating in a lower-power mode of operation and the hard disk drive maybe deactivated. A computer system may be invoked to enter a standby modeof operation after a period of inactivity, e.g., five minutes, or upon auser invoking the computer system to enter the standby mode ofoperation. The “sleeping” computer system may be “awakened” or resumedupon an event such as a user's keystroke, pressing the power button,receipt of electronic mail, a fax, etc. That is, upon an awakeningevent, the computer system exits out of the standby mode of operationand resumes a normal mode of operation.

As stated above, when the computer system enters a standby mode ofoperation, the hard disk drive becomes deactivated. When that occurs,the spindle motor is deactivated and the magnetic heads are lifted bythe actuator to be “parked” outside of the stack of one or more magneticdisks onto a “ramp”. This may be referred to herein as a “spin-down”cycle. When the computer system resumes the normal mode of operation,the spindle motor is activated and the magnetic heads are lifted by theactuator to be moved from the ramp to the stack of one or more magneticdisks. This may be referred to herein as a “spin-up” cycle.

The spindle motor may be designed to handle a certain number ofspin-up/spin-down cycles over the lifetime of the spindle motor. If acomputer system is repeatedly entering and exiting to and from thestandby mode of operation, it may be possible that the number ofspin-up/spin-down cycles may exceed the number of spin-up/spin-downcycles the spindle motor is designed to handle over its lifetime.

Therefore, there is a need in the art to ensure that the number ofspin-up/spin-down cycles for a spindle motor in a hard disk drive doesnot exceed the rate the spindle motor is designed to handle.

Furthermore, the computer system may enter and exit the standby mode ofoperation in a rather short period of time. Applications that have low,but very repetitive access patterns, may invoke the computer system toreenter the normal mode of operation just after entering the standbymode of operation. For example, an anti-virus application operating onthe computer system may issue a command just after the computer systementers the standby mode of operation. This command will then awaken thecomputer system to enter the normal mode of operation. Quickly exitingthe standby mode of operation to resume a normal mode of operation mayproduce a lot of stress on the spindle motor. Spindle motors may befluid dynamic bearing motors which utilize a viscous oil rather thanmetal ball bearings. By quickly exiting the standby mode of operation toresume the normal mode of operation, a “cavitation” may form in theviscous oil thereby causing the oil to not be smoothly uniform which maylead to mechanical friction which increases wear on the spindle motor.Hence, by having many short spin-up/spin-down cycles, the spindle motormay wear out faster than designed due to the cavitations formed in theviscous oil.

Therefore, there is a need in the art to ensure that the duration of thespin-down cycle is not too short thereby reducing, at least in part,excessive wear on the spindle motor.

Furthermore, computer systems may enter another power saving mode ofoperation commonly referred to as “low power idle” state. In the “lowpower idle” state of operation, the processor operates in a lower-powermode of operation. Furthermore, during the low power idle state ofoperation, the magnetic heads are parked onto a ramp as in the standbymode of operation. However, during the low power idle state ofoperation, the spindle motor continues to spin. As stated above, thespindle motor becomes deactivated, i.e., stops spinning, during thestandby mode of operation.

A computer system may enter the low power idle state after a shorterperiod of inactivity than required for the computer system to enter thestandby mode of operation as described above. For example, if thecomputer system is idle for 30 seconds, then the computer system mayenter the low power idle state of operation. If the computer systemcontinues to be idle for five minutes, then the computer system entersthe standby mode of operation.

As stated above, during the lower power idle state of operation, themagnetic heads are parked onto the ramp. This may be referred to hereinas a “unload” cycle. When the computer system resumes the normal mode ofoperation, the magnetic heads are lifted by the actuator to be movedfrom the ramp to the stack of one or more magnetic disks. This may bereferred to herein as a “load” cycle.

The actuator may be designed to handle a certain number of load/unloadcycles, e.g., 300,000 load/unload cycles, over the lifetime of theactuator. If a computer system is repeatedly entering and exiting to andfrom the low power idle state of operation, it may be possible that thenumber of load/unload cycles exceeds the number of load/unload cyclesthe actuator is designed to handle over its lifetime.

Therefore, there is a need in the art to ensure that the number ofload/unload cycles for an actuator in a hard disk drive does not exceedthe rate the actuator is designed to handle.

SUMMARY

The problems outlined above with respect to having the number ofspin-up/spin-down cycles exceeding the number of spin-up/spin-downcycles the spindle motor is designed to handle may at least in part besolved in some embodiments by disabling the feature of automaticallyentering the standby mode of operation when the rate ofspin-up/spin-down cycles exceeds the rate the spindle motor is designedto handle. The feature of automatically entering the standby mode ofoperation is disabled until the rate of spin-up/spin-down cycles is suchthat the spindle motor is designed to handle. By disabling the automaticstandby mode of operation, the rate of spin-up/spin-down cycles will bereduced as the spindle motor will not incur a spin-up/spin-down cycleuntil the standby mode of operation is enabled.

Furthermore, the problems outlined above with respect to excessive wearof the spindle motor by having too many short spin-up/spin-down cyclesmay at least in part be solved by altering the amount of time a computersystem needs to be inactive in order to invoke the standby mode ofoperation. The time may be altered such that the awakening event mayoccur either after the designed minimum duration of a spin-down cycle(minimum duration refers to the shortest spin-down cycle the spindlemotor is designed to handle according to the manufacturer) or during thenormal mode of operation. In this manner, excessive wear of the spindlemotor may be reduced since the number of short spin-up/spin-down cyclesmay be reduced.

Furthermore, the problems outlined above with respect to having thenumber of load/unload cycles exceeding the number of load/unload cyclesthe actuator is designed to handle may at least in part be solved insome embodiments by disabling the feature of automatically entering thelow power idle state of operation when the rate of load/unload cyclesexceeds the rate the actuator is designed to handle. The feature ofautomatically entering the low power idle state of operation is disableduntil the rate of load/unload cycles is such that the actuator isdesigned to handle. By disabling the automatic low power idle state ofoperation, the rate of load/unload cycles will be reduced as theactuator will not incur a load/unload cycle until the low power idlestate of operation is enabled.

In one embodiment of the present invention, a method for restricting arate of spin-up/spin-down cycles for a spindle motor in a hard diskdrive may comprise the step of determining a number of spin-up/spin-downcycles the spindle motor is designed to handle over its expectedlifetime. The method may further comprise determining a maximum rate ofspin-up/spin-down cycles the spindle motor is designed to handle over adesignated period of time using the number of spin-up/spin-down cyclesthe spindle motor is designed to handle over its expected lifetime. Themethod may further comprise calculating a rate of spin-up/spin-downcycles while the hard disk drive is activated during the period of time.An automatic standby mode of operation is disabled if the rate ofspin-up/spin-down cycles while the hard disk drive is activated duringthe designated period of time is greater than the maximum rate ofspin-up/spin-down cycles the spindle motor is designed to handle overthe designated period of time.

In one embodiment of the present invention, a method for reducing, atleast in part, excessive wear on a spindle motor in a hard disk drivemay comprise the step of determining a minimum duration of a spin-downcycle the spindle motor is designed to handle. The method may furthercomprise measuring a duration of a first spin-down cycle. The method mayfurther comprise comparing the measured duration of the first spin-downcycle to the minimum duration. A timer is configured to control when thehard disk drive enters a standby mode of operation. If the measuredduration of the first spin-down cycle is less than the minimum duration,then the timer is set to equal a default value less the minimumduration.

In one embodiment of the present invention, a method for restricting arate of load/unload cycles for an actuator in a hard disk drive maycomprise the step of determining a number of load/unload cycles theactuator is designed to handle over its expected lifetime. The methodmay further comprise determining a maximum rate of load/unload cyclesthe actuator is designed to handle over a designated period of timeusing the number of load/unload cycles the actuator is designed tohandle over its expected lifetime. The method may further comprisecalculating a rate of load/unload cycles while the hard disk drive isactivated during the period of time. A low power idle state of operationis disabled if the rate of load/unload cycles while the hard disk driveis activated during the designated period of time is greater than themaximum rate of load/unload cycles the actuator is designed to handleover the designated period of time.

The foregoing has outlined rather generally the features and technicaladvantages of one or more embodiments of the present invention in orderthat the detailed description of the invention that follows may bebetter understood. Additional features and advantages of the inventionwill be described hereinafter which may form the subject of the claimsof the invention.

BRIEF DESCRIPTION OF THE DRAWINGS

A better understanding of the present invention can be obtained when thefollowing detailed description is considered in conjunction with thefollowing drawings, in which:

FIG. 1 illustrates a computer system in accordance with an embodiment ofthe present invention;

FIG. 2 illustrates an embodiment of the present invention of a hard diskdrive;

FIG. 3 is a top view of the mechanical components of the hard disk driveillustrating head loading-unloading in accordance with an embodiment ofthe present invention;

FIG. 4 is a flowchart of a method for restricting a rate ofspin-up/spin-down cycles for a spindle motor in a hard disk drive inaccordance with an embodiment of the present invention;

FIGS. 5A–C are a flowchart of a method for reducing, at least in part,excessive wear on a spindle motor in a hard disk drive in accordancewith an embodiment of the present invention; and

FIG. 6 is a flowchart of a method for restricting a rate of load/unloadcycles for an actuator in a hard disk drive in accordance with anembodiment of the present invention.

DETAILED DESCRIPTION

In the following description, numerous specific details are set forth toprovide a thorough understanding of the present invention. However, itwill be apparent to those skilled in the art that the present inventionmay be practiced without such specific details. In other instances,well-known circuits have been shown in block diagram form in order notto obscure the present invention in unnecessary detail. For the mostpart, details considering timing considerations and the like have beenomitted inasmuch as such details are not necessary to obtain a completeunderstanding of the present invention and are within the skills ofpersons of ordinary skill in the relevant art.

FIG. 1—Computer System

FIG. 1 illustrates a typical hardware configuration of a computer system100 which is representative of a hardware environment for practicing thepresent invention. Referring to FIG. 1, computer system 100 may have aprocessor 110 coupled to various other components by a system bus 112.An operating system 140, may run on processor 110 and provide controland coordinate the functions of the various components of FIG. 1. Anapplication 150 in accordance with the principles of the presentinvention may run in conjunction with operating system 140 and providecalls to operating system 140 where the calls implement the variousfunctions or services to be performed by application 150.

Read only memory (ROM) 116 may be coupled to system bus 112 and includea basic input/output system (“BIOS”) that controls certain basicfunctions of computer system 100. Random access memory (RAM) 114 anddisk adapter 118 may also be coupled to system bus 112. It should benoted that software components including operating system 140 andapplication 150 may be loaded into RAM 114 which may be computersystem's 100 main memory. Disk adapter 118 may be an integrated driveelectronics (“IDE”) adapter that communicates with a disk unit 120,e.g., disk drive. A description of an embodiment of disk unit 120 isprovided below in association with FIG. 2.

Referring to FIG. 1, communications adapter 134 may also be coupled tosystem bus 112. Communications adapter 134 may interconnect bus 112 withan outside network enabling computer system 100 to communicate withother like systems. Input/Output devices may also be connected to systembus 112 via a user interface adapter 122 and a display adapter 136.Keyboard 124, mouse 126 and speaker 130 may all be interconnected to bus112 through user interface adapter 122. Event data may be inputted tocomputer system 100 through any of these devices. A display monitor 138may be connected to system bus 112 by display adapter 136. In thismanner, a user is capable of inputting to computer system 100 throughkeyboard 124 or mouse 126 and receiving output from computer system 100via display 138 or speaker 130.

FIG. 2—Hard Disk Drive

FIG. 2 illustrates an exploded perspective view of a hard disk drive 120(FIG. 1) according to an embodiment of the present invention.

Referring to FIG. 2, in hard disk drive 120, the top opening of analuminum alloy base 201 in the form of a shallow box is sealed with atop cover 202, as illustrated in FIG. 2. They form an enclosure case203, which is in the form of a thin rectangular box and can behorizontally disposed inside computer system 100 (FIG. 1).

Top cover 202 may be screwed to a base 201 through a rectangular sealmember (not shown), whereby enclosure case 203 is hermetically sealed.

Within enclosure case 203, a spindle motor 204 of hub-in structure isprovided at a position slightly offset from the center of base 201toward the edge. On the upper surface of a hub 205 of this spindle motor204, magnetic disks 206A, 206B, 206C, and 206D, which consist of a glassor aluminum substrate, are fixedly mounted with a top clamp 207 and aredriven to rotate with spindle motor 204. Magnetic disks 206A–D maycollectively or individually be referred to as magnetic disks 206 ormagnetic disk 206. Magnetic disks 206 are disk storage media for storingdata. It is noted that hard disk drive 120 may include any number ofmagnetic disks 206 including a single magnetic disk 206. Hard disk drive120 may further include a spindle 208 of spindle motor 204 which isfixed to top cover 202 by means of bolts (not shown). Thus, spindle 208may have a double-end supported structure. Disks 206 are disposedcoaxially along the axis of spindle 208. FIG. 2 further illustrates thatspindle motor 204 is attached to spindle 208 for rotatably turningspindle 208 along an axis of spindle 208.

Hard disk drive 120 may further include an actuator 209 within enclosurecase 203. Actuator 209 may have a magnetic head 210 and is supported atits intermediate portion on base 201 through a pivot 211. Actuator 209,therefore, is free to rotate on pivot 211. Actuator 209 is provided atthe other end thereof with a voice coil motor coil 212 and is rotated bya voice coil motor 213, provided within enclosure case 203, whichcooperates with voice coil motor coil 212.

Attached to the exterior surface (bottom surface) of base 201 may be acard 217, as a printed circuit board. Card 217 may be rectangular inshape and cover the exterior surface of base 201. Input and output ofelectric power, signals, etc., for driving motors, such as spindle motor204, are performed between card 217 and spindle motor 204. Hence, card217 is configured to drive spindle motor 217. In addition, input andoutput of electric power and signals, for power to voice coil motor coil212, read and write operations by magnetic head 210, etc., are performedbetween card 217 and actuator 209. The input and output, between card217 and actuator 209, are performed through a flexible cable (FPC) 214.

Card 217 may further be coupled to firmware 215 (software stored in amemory chip, such as an erasable programmable read only memory (EPROM)).Firmware 215 may be executed by processor 110 (FIG. 1). Firmware 215 maybe configured to restrict a rate of spin-up/spin-down cycles for spindlemotor 204 as discussed below in association with FIG. 4. Firmware 215may further be configured to reduce, at least in part, excessive wear onspindle motor 204 as discussed further below in association with FIGS.5A–C. Firmware 215 may further be configured to restrict a rate ofload/unload cycles for actuator 209 as discussed further below inassociation with FIG. 6. Firmware may further include software, referredto herein as a “standby timer”, configured to determine the amount oftime, e.g., five minutes, of inactivity before computer system 100(FIG. 1) enters a standby mode of operation, as discussed further belowin association with FIGS. 5A–C.

Implementations of the invention include implementations as a computersystem programmed to execute the method or methods described herein maybe resident in firmware 215 as described above. The computer programproduct may also be stored at another computer and transmitted whendesired to the user's workstation by a network or by an external networksuch as the Internet. One skilled in the art would appreciate that thephysical storage of the sets of instructions physically changes themedium upon which it is stored so that the medium carries computerreadable information. The change may be electrical, magnetic, chemicalor some other physical change.

Referring to FIG. 2, in one embodiment, hard disk drive 102 may be whatis referred to as a “head loading-unloading type”. The headloading-unloading type hard disk drive 120 unloads magnetic head 210 toa save position without contacting head 210 with the magnetic disksurface, by holding actuator 209 at a ramp block 216 duringnon-operation. This may be referred to as an “unload cycle”. Duringoperation, actuator 209 is driven so that magnetic head 210 is locatedover the magnetic disk. This may be referred to as a “load cycle”.

A more detail embodiment illustrating a head loading-unloading type isprovided below in association with FIG. 3.

FIG. 3—Head Loading-Unloading

FIG. 3 illustrates a top view of the mechanical components of hard diskdrive 120 (FIGS. 1–2) involved in the head loading-unloading process inaccordance with an embodiment of the present invention. Referring toFIG. 3, the mechanical components may include one or more disks 206mounted to spindle 208 driven by a spindle motor (not shown) (element204 in FIG. 2). A ramp type load/unload mechanism is employed to liftheads 210 from each disk surface as actuator 209 (i.e., the arm thatholds the read/write head) travels beyond the disks' 206 outer diameterby way of voice coil motor (VCM) 213 to park heads 210 outside of diskstack 206. At the end of each head/suspension assembly is a lift tab 301which engages a ramp 302, i.e., an inclined cam surface positioned atthe disk outer diameter. During a head loading event, head 210 is movedfrom ramp 301 to disk 206. During a head unloading event, head 210 ismoved from disk 206 to ramp 301.

When computer system 100 (FIG. 1) enters a standby mode of operation,hard disk drive 120 becomes deactivated. When that occurs, spindle motor(not shown) (element 204 in FIG. 2) is deactivated and magnetic heads210 are lifted by actuator 209 to be “parked” outside of the stack ofone or more magnetic disks 206 onto ramp 301. This may be referred toherein as a “spin-down” cycle. When computer system 100 (FIG. 1) resumesthe normal mode of operation, the spindle motor (not shown) (element 204in FIG. 2) is activated and magnetic heads 210 are lifted by actuator209 to be moved from ramp 301 to the stack of one or more magnetic disks206. This may be referred to herein as a “spin-up” cycle.

Furthermore, when computer system 100 enters the lower power idle stateof operation, magnetic heads 210 may be parked onto ramp 301 asdescribed above. This may be referred to herein as a “load” cycle. Whencomputer system 100 resumes the normal mode of operation, magnetic heads210 are lifted by actuator 209 to be moved from ramp 301 to the stack ofone or more magnetic disks 206. This may be referred to herein as an“unload” cycle.

As stated in the Background Information section, the spindle motor maybe designed to handle a certain number of spin-up/spin-down cycles overthe lifetime of the spindle motor. If a computer system is repeatedlyentering and exiting to and from the standby mode of operation, it maybe possible that the number of spin-up/spin-down cycles may exceed thenumber of spin-up/spin-down cycles the spindle motor is designed tohandle over its lifetime. Therefore, there is a need in the art toensure that the number of spin-up/spin-down cycles for a spindle motorin a hard disk drive does not exceed the rate the spindle motor isdesigned to handle. A method for restricting a rate of spin-up/spin-downcycles for a spindle motor thereby ensuring, at least in part, that thenumber of spin-up/spin-down cycles for a spindle motor does not exceedthe rate the spindle motor is designed to handle is described below inassociation with FIG. 4.

FIG. 4—Method for Restricting a Rate of Spin-Up/Spin-Down Cycles for aSpindle Motor in a Hard Disk Drive

FIG. 4 is a flowchart of one embodiment of the present invention of amethod 400 for restricting a rate of spin-up/spin-down cycles forspindle motor 204 (FIG. 2) in hard disk drive 120 (FIGS. 1–3).

Referring to FIG. 4, in conjunction with FIGS. 1–3, in step 401, thedesign manufacturer of spindle motor 204 determines the number ofspin-up/spin-down cycles spindle motor 204 is designed to handle overits expected lifetime.

In step 402, firmware 215 determines a maximum number ofspin-up/spin-down cycles spindle motor 204 is designed to handle over adesignated period of time, e.g., 8 hours. The maximum number ofspin-up/spin-down cycles spindle motor 204 is designed to handle over adesignated period of time is referred to herein in the description ofFIG. 4 as the “maximum rate” (MaxRate).

In step 403, firmware 215 monitors the amount of time hard disk drive120 is activated over the designated period of time. In step 404,firmware 215 monitors the number of spin-up/spin-down cycles over thedesignated period of time.

In step 405, firmware 215 calculates the rate of spin-up/spin-downcycles while hard disk drive 120 is activated during the period of time.

In step 406, firmware 215 determines whether the rate calculated in step405 is greater than the MaxRate. If so, then firmware 215 disables theautomatic standby mode of operation in step 407. That is, firmware 215disables hard disk drive 120 from entering the standby mode of operationwhen computer system 100 is invoked to enter the standby mode ofoperation. Firmware 215 disables hard disk drive 120 from entering thestandby mode of operation when the rate calculated in step 405 isgreater than the MaxRate since that indicates that the rate ofspin-up/spin-down cycles is exceeding the rate that spindle motor 204 isdesigned to handle. By disabling the automatic standby mode ofoperation, the rate of spin-up/spin-down cycles will be reduced asspindle motor 204 will not incur a spin-up/spin-down cycle as hard diskdrive 120 is disabled from entering the standby mode of operation.

If, however, the rate calculated in step 405 is not greater than theMaxRate, then, in step 408, firmware 215 enables the automatic standbymode of operation. That is, firmware 215 enables hard disk drive 120 toenter the standby mode of operation when computer system 100 is invokedto enter the standby mode of operation. Firmware 215 enables hard diskdrive 120 to enter the standby mode of operation when the ratecalculated in step 405 is not greater than the MaxRate since thatindicates that the rate of spin-up/spin-down cycles is not exceeding therate that spindle motor 204 is designed to handle.

It is noted that method 400 may include other and/or additional stepsthat, for clarity, are not depicted. It is further noted that method 400may be executed in a different order presented and that the orderpresented in the discussion of FIG. 4 is illustrative. It is furthernoted that certain steps in method 400 may be executed in asubstantially simultaneous manner.

As stated in the Background Information section, the computer system mayenter and exit the standby mode of operation in a rather short period oftime. Applications that have low, but very repetitive access patterns,may invoke the computer system to reenter the normal mode of operationjust after entering the standby mode of operation. For example, ananti-virus application operating on the computer system may issue acommand just after the computer system enters the standby mode ofoperation. This command will then awaken the computer system to enterthe normal mode of operation. Quickly exiting the standby mode ofoperation to resume a normal mode of operation may produce a lot ofstress on the spindle motor. Spindle motors may be fluid dynamic bearingmotors which utilize a viscous oil rather than metal ball bearings. Byquickly exiting the standby mode of operation to resume the normal modeof operation, a “cavitation” may form in the viscous oil thereby causingthe oil to not be smoothly uniform which may lead to mechanical frictionwhich increases wear on the spindle motor. Hence, by having many shortspin-up/spin-down cycles, the spindle motor may wear out faster thandesigned due to the cavitations formed in the viscous oil. Therefore,there is a need in the art to ensure that the duration of the spin-downcycle is not too short thereby reducing, at least in part, excessivewear on the spindle motor. A method of reducing, at least in part,excessive wear on spindle motor 204 (FIG. 2), is described below inassociation with FIGS. 5A–C.

FIGS. 5A–C—Method for Reducing at Least in Part, Excessive Wear on aSpindle Motor in a Hard Disk Drive

FIGS. 5A–C are a flowchart of one embodiment of the present invention ofa method 500 for reducing, at least in part, excessive wear on spindlemotor 204 (FIG. 2) in hard disk drive 120 (FIGS. 1–3).

Referring to FIG. 5A, in conjunction with FIGS. 1–3, in step 501, thedesign manufacturer of spindle motor 204 determines the duration of thespin-down cycle that spindle motor 204 is designed to handle. Theduration of the spin-down cycle that spindle motor 204 is designed tohandle is referred to herein in the description of FIGS. 5A–C as the“minimum duration”.

In step 502, computer system 100 enters a standby mode of operation. Asstated above, when computer system 100 enters a standby mode ofoperation, hard disk drive 120 enters the “spin-down” cycle. During thespin-down cycle, spindle motor 204 is deactivated and magnetic heads 210are lifted by actuator 209 to be “parked” outside of the stack of one ormore magnetic disks 206 onto ramp 301. In step 503, computer system 100exits the standby mode of operation and enters the normal mode ofoperation. The spin-down cycle ends when computer system 100 exits thestandby mode of operation and enters the normal mode of operation.

In step 504, firmware 215 measures the duration of the spin-down cycle,as discussed above in connection with steps 502–503.

In step 505, firmware 215 determines whether the measured duration ofthe spin-down cycle in step 504 is less than the minimum duration. Ifthe measured duration of the spin-down cycle in step 504 is not lessthan the minimum duration, then, in step 506 the standby timer maintainsits current setting of equaling the default value, e.g., five minutes.Computer system 100 reenters the standby mode of operation in step 502when computer system 100 is subsequently invoked to enter the standbymode of operation.

If, however, the measured duration of the spin-down cycle in step 504 isless than the minimum duration, then, in step 507, firmware 215 sets thestandby timer to equal the default value less the minimum duration. Forexample, if the default value is set at five minutes and the minimumduration is 30 seconds, then the standby timer is set to equal 4 minutesand 30 seconds. By changing the standby timer to have a shorter timeuntil computer system 100 reenters the standby mode of operation, thepossibility of computer system 100 awakening prior to the minimumduration during the standby mode of operation may be reduced. Forexample, an application may have issued a command at five minutes and 10seconds when the standby timer was set to five minutes. When thatoccurred, computer system 100 was awakened prior to the minimum duration(30 seconds). However, if the standby timer were now set to equal 4minutes and 30 seconds as mentioned above, then if the applicationissued a command again at 5 minutes and 10 seconds, computer system 100would be awakened after 40 seconds being in the standby mode ofoperation which exceeds the minimum duration of 30 seconds.

In step 508, computer system 100 reenters the standby mode of operationwhen computer system 100 is subsequently invoked to enter the standbymode of operation. In step 509, computer system 100 exits the standbymode of operation and enters the normal mode of operation. In step 510,firmware 215 measures the duration of the spin-down cycle in connectionwith steps 508–509.

Referring to FIG. 5B, in conjunction with FIGS. 1–3, in step 511,firmware 215 determines whether the measured duration of the spin-downcycle in step 510 (FIG. 5A) is less than the minimum duration. If themeasured duration of the spin-down cycle in step 510 is not less thanthe minimum duration, then, in step 512 the standby timer maintains itscurrent setting of equaling the default value minus the minimumduration, e.g., four minutes and thirty seconds. Computer system 100reenters the standby mode of operation in step 508 (FIG. 5A) whencomputer system 100 is subsequently invoked to enter the standby mode ofoperation.

If, however, the measured duration of the spin-down cycle in step 510 isless than the minimum duration, then, in step 513, firmware 215 sets thestandby timer to equal the default value plus the minimum duration. Forexample, if the default value is set at five minutes and the minimumduration is 30 seconds, then the standby timer is set to equal 5 minutesand 30 seconds. By changing the standby timer to have a longer timeuntil computer system 100 reenters the standby mode of operation, thepossibility of computer system 100 awakening prior to the minimumduration during the standby mode of operation may be reduced. Forexample, an application may have issued a command at four minutes and 40seconds when the standby timer was set to four minutes and 30 seconds.When that occurred, computer system 100 was awakened prior to theminimum duration (30 seconds). However, if the standby timer were nowset to equal 5 minutes and 30 seconds as mentioned above, then if theapplication issued a command again at 4 minutes and 40 seconds, computersystem 100 would not enter the standby mode of operation therebypreventing computer system 100 from being awakened in the standby modeof operation too early.

In step 514, computer system 100 reenters the standby mode of operationwhen computer system 100 is subsequently invoked to enter the standbymode of operation. In step 515, computer system 100 exits the standbymode of operation and enters the normal mode of operation. In step 516,firmware 215 measures the duration of the spin-down cycle in connectionwith steps 514–515.

In step 517, firmware 215 determines whether the measured duration ofthe spin-down cycle in step 516 is less than the minimum duration. Ifthe measured duration of the spin-down cycle in step 516 is not lessthan the minimum duration, then, in step 518 the standby timer maintainsits current setting of equaling the default value plus the minimumduration, e.g., five minutes and thirty seconds. Computer system 100reenters the standby mode of operation in step 514 when computer system100 is subsequently invoked to enter the standby mode of operation.

Referring to FIG. 5C, in conjunction with FIGS. 1–3, if, however, themeasured duration of the spin-down cycle in step 516 (FIG. 5B) is lessthan the minimum duration, then, in step 519, firmware 215 sets thestandby timer to equal the default value. For example, if the defaultvalue is set at five minutes, then the standby timer is set to equal 5minutes. By changing the standby timer to have a shorter time untilcomputer system 100 reenters the standby mode of operation, thepossibility of computer system 100 awakening prior to the minimumduration during the standby mode of operation may be reduced. Forexample, an application may have issued a command at five minutes and 40seconds when the standby timer was set to five minutes and 30 seconds.When that occurred, computer system 100 was awakened prior to theminimum duration (30 seconds). However, if the standby timer were nowset to equal 5 minutes as mentioned above, then if the applicationissued a command again at 5 minutes and 40 seconds, computer system 100would be awakened after 40 seconds being in the standby mode ofoperation which exceeds the minimum duration of 30 seconds.

Computer system 100 reenters the standby mode of operation in step 502(FIG. 5A) when computer system 100 is subsequently invoked to enter thestandby mode of operation.

It is noted that method 500 may include other and/or additional stepsthat, for clarity, are not depicted. It is further noted that method 500may be executed in a different order presented and that the orderpresented in the discussion of FIGS. 5A–C is illustrative. It is furthernoted that certain steps in method 500 may be executed in asubstantially simultaneous manner.

As stated in the Background Information section, the actuator may bedesigned to handle a certain number of load/unload cycles, e.g., 300,000load/unload cycles, over the lifetime of the actuator. If a computersystem is repeatedly entering and exiting to and from the low power idlestate of operation, it may be possible that the number of load/unloadcycles exceeds the number of load/unload cycles the actuator is designedto handle over its lifetime. Therefore, there is a need in the art toensure that the number of load/unload cycles for an actuator in a harddisk drive does not exceed the rate the actuator is designed to handle.A method for restricting a rate of load/unload cycles for an actuator ina hard disk drive is described below in association with FIG. 6.

FIG. 6—Method for Restricting a Rate of Load/Unload Cycles for anActuator in a Hard Disk Drive

FIG. 6 is a flowchart of one embodiment of the present invention of amethod 600 for restricting a rate of load/unload cycles for actuator 209(FIGS. 2–3) in hard disk drive 120 (FIGS. 1–3).

Referring to FIG. 6, in conjunction with FIGS. 1–3, in step 601, thedesign manufacturer of actuator 209 determines the number of load/unloadcycles actuator 209 is designed to handle over its expected lifetime.

In step 602, firmware 215 determines a maximum number of load/unloadcycles actuator 209 is designed to handle over a designated period oftime, e.g., 8 hours. The maximum number of load/unload cycles actuator209 is designed to handle over a designated period of time is referredto herein in the description of FIG. 6 as the “maximum rate” (MaxRate).

In step 603, firmware 215 monitors the amount of time hard disk drive120 is activated over the designated period of time. In step 604,firmware 215 monitors the number of load/unload cycles over thedesignated period of time.

In step 605, firmware 215 calculates the rate of load/unload cycleswhile hard disk drive 120 is activated during the period of time.

In step 606, firmware 215 determines whether the rate calculated in step605 is greater than the MaxRate. If so, then firmware 215 disables thelow power idle state of operation in step 607. That is, firmware 215disables hard disk drive 120 from entering the low power idle state ofoperation when computer system 100 is invoked to enter the low poweridle state of operation. Firmware 215 disables hard disk drive 120 fromentering the low power idle state of operation when the rate calculatedin step 605 is greater than the MaxRate since that indicates that therate of load/unload cycles is exceeding the rate that actuator 209 isdesigned to handle. By disabling the automatic low power idle state ofoperation, the rate of load/unload cycles will be reduced as actuator209 will not incur a load/unload cycle as hard disk drive 120 isdisabled from entering the low power idle state of operation.

If, however, the rate calculated in step 605 is not greater than theMaxRate, then, in step 608, firmware 215 enables the automatic low poweridle state of operation. That is, firmware 215 enables hard disk drive120 to enter the low power idle state of operation when computer system100 is invoked to enter the low power idle state of operation. Firmware215 enables hard disk drive 120 to enter the low power idle state ofoperation when the rate calculated in step 605 is not greater than theMaxRate since that indicates that the rate of load/unload cycles is notexceeding the rate that actuator 209 is designed to handle.

It is noted that method 600 may include other and/or additional stepsthat, for clarity, are not depicted. It is further noted that method 600may be executed in a different order presented and that the orderpresented in the discussion of FIG. 6 is illustrative. It is furthernoted that certain steps in method 600 may be executed in asubstantially simultaneous manner.

Although the method, computer program product and hard disk drive aredescribed in connection with several embodiments, it is not intended tobe limited to the specific forms set forth herein, but on the contrary,it is intended to cover such alternatives, modifications andequivalents, as can be reasonably included within the spirit and scopeof the invention as defined by the appended claims. It is noted that theheadings are used only for organizational purposes and not meant tolimit the scope of the description or claims.

1. A method for restricting a rate of spin-up/spin-down cycles for aspindle motor in a hard disk drive comprising the steps of: determininga number of spin-up/spin-down cycles said spindle motor is designed tohandle over its expected lifetime; determining a maximum rate ofspin-up/spin-down cycles said spindle motor is designed to handle over adesignated period of time using said number of spin-up/spin-down cyclessaid spindle motor is designed to handle over its expected lifetime; andcalculating a rate of spin-up/spin-down cycles while said hard diskdrive is activated during said period of time; wherein an automaticstandby mode of operation is disabled if said rate of spin-up/spin-downcycles while said hard disk drive is activated during said designatedperiod of time is greater than said maximum rate of spin-up/spin-downcycles said spindle motor is designed to handle over said designatedperiod of time.
 2. The method as recited in claim 1 further comprisingthe steps of: monitoring an amount of time said hard disk drive isactivated over said designated period of time; and monitoring a numberof spin-up/spin-down cycles over said designated period of time.
 3. Themethod as recited in claim 2, wherein said rate of spin-up/spin-downcycles while said hard disk drive is activated during said period oftime is calculated using said number of spin-up/spin-down cycles oversaid designated period of time and said amount of time said hard diskdrive is activated over said designated period of time.
 4. A computerprogram product embodied in a machine readable medium for restricting arate of spin-up/spin-down cycles for a spindle motor in a hard diskdrive comprising the programming steps of: determining a number ofspin-up/spin-down cycles said spindle motor is designed to handle overits expected lifetime; determining a maximum rate of spin-up/spin-downcycles said spindle motor is designed to handle over a designated periodof time using said number of spin-up/spin-down cycles said spindle motoris designed to handle over its expected lifetime; and calculating a rateof spin-up/spin-down cycles while said hard disk drive is activatedduring said period of time; wherein an automatic standby mode ofoperation is disabled if said rate of spin-up/spin-down cycles whilesaid hard disk drive is activated during said designated period of timeis greater than said maximum rate of spin-up/spin-down cycles saidspindle motor is designed to handle over said designated period of time.5. The computer program product as recited in claim 4 further comprisingthe programming steps of: monitoring an amount of time said hard diskdrive is activated over said designated period of time; and monitoring anumber of spin-up/spin-down cycles over said designated period of time.6. The computer program product as recited in claim 5, wherein said rateof spin-up/spin-down cycles while said hard disk drive is activatedduring said period of time is calculated using said number ofspin-up/spin-down cycles over said designated period of time and saidamount of time said hard disk drive is activated over said designatedperiod of time.
 7. A hard disk drive comprising: a spindle; a spindlemotor attached to said spindle for rotatably turning said spindle alongan axis of said spindle; one or more disk storage media disposedcoaxially along said axis of said spindle; a card coupled to saidspindle motor configured to drive said spindle motor; and a firmwarecoupled to said card, wherein said firmware holds software configured toperform the following steps: determining a number of spin-up/spin-downcycles said spindle motor is designed to handle over its expectedlifetime; determining a maximum rate of spin-up/spin-down cycles saidspindle motor is designed to handle over a designated period of timeusing said number of spin-up/spin-down cycles said spindle motor isdesigned to handle over its expected lifetime; and calculating a rate ofspin-up/spin-down cycles while said hard disk drive is activated duringsaid period of time; wherein an automatic standby mode of operation isdisabled if said rate of spin-up/spin-down cycles while said hard diskdrive is activated during said designated period of time is greater thansaid maximum rate of spin-up/spin-down cycles said spindle motor isdesigned to handle over said designated period of time.
 8. The hard diskdrive as recited in claim 7, wherein said software is further configuredto perform the following steps: monitoring an amount of time said harddisk drive is activated over said designated period of time; andmonitoring a number of spin-up/spin-down cycles over said designatedperiod of time.
 9. The hard disk drive as recited in claim 8, whereinsaid rate of spin-up/spin-down cycles while said hard disk drive isactivated during said period of time is calculated using said number ofspin-up/spin-down cycles over said designated period of time and saidamount of time said hard disk drive is activated over said designatedperiod of time.
 10. A method for reducing, at least in part, excessivewear on a spindle motor in a hard disk drive comprising the steps of:determining a minimum duration of a spin-down cycle said spindle motoris designed to handle; measuring a duration of a first spin-down cycle;and comparing said measured duration of said first spin-down cycle tosaid minimum duration; wherein a timer is configured to control whensaid hard disk drive enters a standby mode of operation, wherein if saidmeasured duration of said first spin-down cycle is less than saidminimum duration, then said timer is set to equal a default value lesssaid minimum duration.
 11. The method as recited in claim 10, whereinsaid timer maintains a current setting of equaling said default value ifsaid measured duration of said first spin-down cycle is not less thansaid minimum duration.
 12. The method as recited in claim 10 furthercomprising the step of: measuring a duration of a second spin-down cycleif said measured duration of said first spin-down cycle is less thansaid minimum duration; wherein if said measured duration of said secondspin-down cycle is less than said minimum duration, then said timer isset to equal a default value plus said minimum duration.
 13. The methodas recited in claim 12, wherein said timer maintains a current settingof equaling said default value less said minimum duration if saidmeasured duration of said second spin-down cycle is not less than saidminimum duration.
 14. The method as recited in claim 12 furthercomprising the step of: measuring a duration of a third spin-down cycleif said measured duration of said second spin-down cycle is less thansaid minimum duration; wherein if said measured duration of said thirdspin-down cycle is less than said minimum duration, then said timer isset to equal said default value.
 15. The method as recited in claim 14,wherein said timer maintains a current setting of equaling said defaultvalue plus said minimum duration if said measured duration of said thirdspin-down cycle is not less than said minimum duration.
 16. A computerprogram product embodied in a machine readable medium for reducing, atleast in part, excessive wear on a spindle motor in a hard disk drivecomprising the programming steps of: determining a minimum duration of aspin-down cycle said spindle motor is designed to handle; measuring aduration of a first spin-down cycle; and comparing said measuredduration of said first spin-down cycle to said minimum duration; whereina timer is configured to control when said hard disk drive enters astandby mode of operation, wherein if said measured duration of saidfirst spin-down cycle is less than said minimum duration, then saidtimer is set to equal a default value less said minimum duration. 17.The computer program product as recited in claim 16, wherein said timermaintains a current setting of equaling said default value if saidmeasured duration of said first spin-down cycle is not less than saidminimum duration.
 18. The computer program product as recited in claim16 further comprising the programming step of: measuring a duration of asecond spin-down cycle if said measured duration of said first spin-downcycle is less than said minimum duration; wherein if said measuredduration of said second spin-down cycle is less than said minimumduration, then said timer is set to equal a default value plus saidminimum duration.
 19. The computer program product as recited in claim18, wherein said timer maintains a current setting of equaling saiddefault value less said minimum duration if said measured duration ofsaid second spin-down cycle is not less than said minimum duration. 20.The computer program product as recited in claim 18 further comprisingthe programming step of: measuring a duration of a third spin-down cycleif said measured duration of said second spin-down cycle is less thansaid minimum duration; wherein if said measured duration of said thirdspin-down cycle is less than said minimum duration, then said timer isset to equal said default value.
 21. The computer program product asrecited in claim 20, wherein said timer maintains a current setting ofequaling said default value plus said minimum duration if said measuredduration of said third spin-down cycle is not less than said minimumduration.
 22. A hard disk drive comprising: a spindle; a spindle motorattached to said spindle for rotatably turning said spindle along anaxis of said spindle; one or more disk storage media disposed coaxiallyalong said axis of said spindle; a card coupled to said spindle motorconfigured to drive said spindle motor; and a firmware coupled to saidcard, wherein said firmware holds software configured to perform thefollowing steps: determining a minimum duration of a spin-down cyclesaid spindle motor is designed to handle; measuring a duration of afirst spin-down cycle; and comparing said measured duration of saidfirst spin-down cycle to said minimum duration; wherein a timer isconfigured to control when said hard disk drive enters a standby mode ofoperation, wherein if said measured duration of said first spin-downcycle is less than said minimum duration, then said timer is set toequal a default value less said minimum duration.
 23. The hard diskdrive as recited in claim 22, wherein said timer maintains a currentsetting of equaling said default value if said measured duration offirst said spin-down cycle is not less than said minimum duration. 24.The hard disk drive as recited in claim 22, wherein said software isfurther configured to perform the following step: measuring a durationof a second spin-down cycle if said measured duration of said firstspin-down cycle is less than said minimum duration; wherein if saidmeasured duration of said second spin-down cycle is less than saidminimum duration, then said timer is set to equal a default value plussaid minimum duration.
 25. The hard disk drive as recited in claim 24,wherein said timer maintains a current setting of equaling said defaultvalue less said minimum duration if said measured duration of saidsecond spin-down cycle is not less than said minimum duration.
 26. Thehard disk drive as recited in claim 24, wherein said software is furtherconfigured to perform the following step: measuring a duration of athird spin-down cycle if said measured duration of said second spin-downcycle is less than said minimum duration; wherein if said measuredduration of said third spin-down cycle is less than said minimumduration, then said timer is set to equal said default value.
 27. Thehard disk drive as recited in claim 26, wherein said timer maintains acurrent setting of equaling said default value plus said minimumduration if said measured duration of said third spin-down cycle is notless than said minimum duration.